Refactor polyglot validation sample layout#15650
Conversation
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
|
🚀 Dogfood this PR with:
curl -fsSL https://raw.githubusercontent.com/microsoft/aspire/main/eng/scripts/get-aspire-cli-pr.sh | bash -s -- 15650Or
iex "& { $(irm https://raw.githubusercontent.com/microsoft/aspire/main/eng/scripts/get-aspire-cli-pr.ps1) } 15650" |
There was a problem hiding this comment.
Pull request overview
Refactors the polyglot validation samples into a shared tests/Polyglot/<Language> layout and updates CI validation scripts to validate per-language AppHosts via aspire restore --apphost.
Changes:
- Moves validation inputs from
playground/polyglot/**intotests/Polyglot/**(per-language roots; one AppHost file per integration). - Updates TypeScript/Python/Java CI validation scripts to enumerate
*.apphost.*files and restore/typecheck/compile each one. - Adjusts Java validation compilation to copy suffixed AppHost filenames into a temporary
AppHost.javabeforejavac.
Reviewed changes
Copilot reviewed 256 out of 595 changed files in this pull request and generated 6 comments.
| File | Description |
|---|---|
.github/workflows/polyglot-validation/test-typescript-playground.sh |
Switches validation to tests/Polyglot/TypeScript, restores per AppHost, and type-checks via a generated temporary tsconfig. |
.github/workflows/polyglot-validation/test-python-playground.sh |
Switches validation to tests/Polyglot/Python, restores per AppHost, and byte-compiles the selected AppHost plus generated modules. |
.github/workflows/polyglot-validation/test-java-playground.sh |
Switches validation to tests/Polyglot/Java, restores per AppHost, and compiles by copying the selected AppHost into a temporary AppHost.java. |
playground/polyglot/** |
Removes legacy per-sample configs/run settings now superseded by the shared tests/Polyglot/<Language> layout. |
Files not reviewed (17)
- playground/polyglot/TypeScript/Aspire.Hosting.Azure.AppConfiguration/ValidationAppHost/package-lock.json: Language not supported
- playground/polyglot/TypeScript/Aspire.Hosting.Azure.AppContainers/ValidationAppHost/package-lock.json: Language not supported
- playground/polyglot/TypeScript/Aspire.Hosting.Azure.AppService/ValidationAppHost/package-lock.json: Language not supported
- playground/polyglot/TypeScript/Aspire.Hosting.Azure.ApplicationInsights/ValidationAppHost/package-lock.json: Language not supported
- playground/polyglot/TypeScript/Aspire.Hosting.Azure.CognitiveServices/ValidationAppHost/package-lock.json: Language not supported
- playground/polyglot/TypeScript/Aspire.Hosting.Azure.ContainerRegistry/ValidationAppHost/package-lock.json: Language not supported
- playground/polyglot/TypeScript/Aspire.Hosting.Azure.CosmosDB/ValidationAppHost/package-lock.json: Language not supported
- playground/polyglot/TypeScript/Aspire.Hosting.Azure.EventHubs/ValidationAppHost/package-lock.json: Language not supported
- playground/polyglot/TypeScript/Aspire.Hosting.Azure.Functions/ValidationAppHost/package-lock.json: Language not supported
- playground/polyglot/TypeScript/Aspire.Hosting.Azure.KeyVault/ValidationAppHost/package-lock.json: Language not supported
- playground/polyglot/TypeScript/Aspire.Hosting.Azure.Kusto/ValidationAppHost/package-lock.json: Language not supported
- playground/polyglot/TypeScript/Aspire.Hosting.Azure.OperationalInsights/ValidationAppHost/package-lock.json: Language not supported
- playground/polyglot/TypeScript/Aspire.Hosting.Azure.PostgreSQL/ValidationAppHost/package-lock.json: Language not supported
- playground/polyglot/TypeScript/Aspire.Hosting.Azure.Redis/ValidationAppHost/package-lock.json: Language not supported
- playground/polyglot/TypeScript/Aspire.Hosting.Azure.Search/ValidationAppHost/package-lock.json: Language not supported
- playground/polyglot/TypeScript/Aspire.Hosting.Azure.ServiceBus/ValidationAppHost/package-lock.json: Language not supported
- playground/polyglot/TypeScript/Aspire.Hosting.Azure.SignalR/ValidationAppHost/package-lock.json: Language not supported
.github/workflows/polyglot-validation/test-typescript-playground.sh
Outdated
Show resolved
Hide resolved
.github/workflows/polyglot-validation/test-typescript-playground.sh
Outdated
Show resolved
Hide resolved
.github/workflows/polyglot-validation/test-typescript-playground.sh
Outdated
Show resolved
Hide resolved
.github/workflows/polyglot-validation/test-typescript-playground.sh
Outdated
Show resolved
Hide resolved
.github/workflows/polyglot-validation/test-typescript-playground.sh
Outdated
Show resolved
Hide resolved
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
JamesNK
left a comment
There was a problem hiding this comment.
Main concern: several aspire.config.json files are missing secondary package dependencies that the old per-language configs had. See inline comment for the full list.
tests/PolyglotAppHosts/Aspire.Hosting.Azure.CosmosDB/Python/aspire.config.json
Show resolved
Hide resolved
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
|
In response to review 4041128520: accepted. The moved per-language configs had dropped several secondary package references, so I restored the missing ones across the affected Java/Python/TypeScript |
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
|
Follow-up on review 4041128520: after verifying the current moved |
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
|
|
||
| # Required for polyglot apps | ||
| !playground/polyglot/**/.aspire/ | ||
| !tests/PolyglotAppHosts/**/.aspire/ |
There was a problem hiding this comment.
Do we even have this folder anymore? CAn it be removed
|
🎬 CLI E2E Test Recordings — 52 recordings uploaded (commit View recordings
📹 Recordings uploaded automatically from CI run #23858406344 |
Description
Refactors the TypeScript, Python, and Java polyglot validation samples into shared per-language roots under
tests/Polyglot, with one AppHost file per integration.This also updates the Aspire CLI polyglot AppHost detection so suffixed filenames like
aspire.hosting.sqlserver.apphost.tsare recognized, and adjusts the Java runtime/validation flow to compile renamed AppHosts through a temporaryAppHost.java.The CI validation scripts now target the new
tests/Polyglot/<Language>layout and restore each sample with--apphostagainst a sharedaspire.config.jsonper language.Fixes # (issue)
Checklist
<remarks />and<code />elements on your triple slash comments?aspire.devissue: